package com.xzk.utillibary.eventUtil;

import android.util.ArrayMap;
import android.util.SparseArray;

import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Set;

/**
 * create by xzk 2018/03/23
 * 全局事件管理器
 */

public interface EventMnager {

    void resigitEvent(Object obj);

    void unRegisterEvent(Object obj);

    void postEventMessage(Object obj);

    /**
     * 总思路，利用观察者模式，将观察者放入容器集合，被观察者发生变化，通知所有观察者
     */
    public class EventManageImpl implements EventMnager {



        @Override
        public void resigitEvent(Object obj) {
            if(obj==null)
                return;
            //这里允许同名吗？  允许 。不能使用 map
            // 需要使用类似 hash 这类的操作思路
//            key.add(value.size());
//            eventMap.put(obj.getClass().getSimpleName(),obj);
        }

        @Override
        public void unRegisterEvent(Object obj) {
            if(obj==null)
                return;

        }

        @Override
        public void postEventMessage(Object obj) {
            if(obj==null)
                return;

        }
    }

}
